.\"
.\" CDDL HEADER START
.\"
.\" The contents of this file are subject to the terms of the
.\" Common Development and Distribution License (the "License").
.\" You may not use this file except in compliance with the License.
.\"
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
.\" or https://opensource.org/licenses/CDDL-1.0.
.\" See the License for the specific language governing permissions
.\" and limitations under the License.
.\"
.\" When distributing Covered Code, include this CDDL HEADER in each
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
.\" If applicable, add the following below this CDDL HEADER, with the
.\" fields enclosed by brackets "[]" replaced with your own identifying
.\" information: Portions Copyright [yyyy] [name of copyright owner]
.\"
.\" CDDL HEADER END
.\"
.\" Copyright (c) 2017 by Lawrence Livermore National Security, LLC.
.\"
.Dd May 26, 2021
.Dt ZGENHOSTID 8
.Os
.
.Sh NAME
.Nm zgenhostid
.Nd generate host ID into /etc/hostid
.Sh SYNOPSIS
.Nm
.Op Fl f
.Op Fl o Ar filename
.Op Ar hostid
.
.Sh DESCRIPTION
Creates
.Pa /etc/hostid
file and stores the host ID in it.
If
.Ar hostid
was provided, validate and store that value.
Otherwise, randomly generate an ID.
.
.Sh OPTIONS
.Bl -tag -width "-o filename"
.It Fl h
Display a summary of the command-line options.
.It Fl f
Allow output overwrite.
.It Fl o Ar filename
Write to
.Pa filename
instead of the default
.Pa /etc/hostid .
.It Ar hostid
Specifies the value to be placed in
.Pa /etc/hostid .
It should be a number with a value between 1 and 2^32-1.
If
.Sy 0 ,
generate a random ID.
This value
.Em must
be unique among your systems.
It
.Em must
be an 8-digit-long hexadecimal number, optionally prefixed by
.Qq 0x .
.El
.
.Sh FILES
.Pa /etc/hostid
.
.Sh EXAMPLES
.Bl -tag -width Bd
.It Generate a random hostid and store it
.Dl # Nm
.It Record the libc-generated hostid in Pa /etc/hostid
.Dl # Nm Qq $ Ns Pq Nm hostid
.It Record a custom hostid Po Ar 0xdeadbeef Pc in Pa /etc/hostid
.Dl # Nm Ar deadbeef
.It Record a custom hostid Po Ar 0x01234567 Pc in Pa /tmp/hostid No and overwrite the file if it exists
.Dl # Nm Fl f o Ar /tmp/hostid 0x01234567
.El
.
.Sh SEE ALSO
.Xr genhostid 1 ,
.Xr hostid 1 ,
.Xr sethostid 3 ,
.Xr spl 4
.
.Sh HISTORY
.Nm
emulates the
.Xr genhostid 1
utility and is provided for use on systems which
do not include the utility or do not provide the
.Xr sethostid 3
function.
